package br.com.vti.sisp_sicrim.antigo.controller.tela;

import java.text.SimpleDateFormat;
import java.util.Calendar;

import br.com.caelum.vraptor.Result;
import br.com.vti.sisp_sicrim.antigo.util.Sessao;
import br.com.vti.sisp_sicrim.antigo.util.UtilBean;

/**
 * Classe responsavel por encapsular o tratamento e as consistencias da tela
 * Idctc006
 * 
 * @author Incode - Data: mai/2014
 * 
 */
public class Idctc006 {
	private boolean enviada = false;
	private String pagina = "/resources/antigo/jsp/Idctc006.jsp";
	private String versao;
	private String operacao;
	private int dataCorrente;
	private String horaCorrente;
	private int dinhidNumpos;
	private String numpos;
	private long dinhidRegger;
	private long dinhidNumpro;
	private String diahidNomide;
	private String diahidNompai;
	private String diahidNommae;
	private String estciv;
	private String nacion;
	private int datnas;
	private long dinhidNumcpf;
	private String codano;
	private String diahidPoldir;
	private String diahidInddir;
	private String diahidMeddir;
	private String diahidAnudir;
	private String diahidMindir;
	private String diahidPolesq;
	private String diahidIndesq;
	private String diahidMedesq;
	private String diahidAnuesq;
	private String diahidMinesq;
	private int dinhidMatfuc;
	private int dinhidMatrhi;
	private int datatu;
	private int datath;
	private int datbai;
	private String motbxa;
	private String chave;
	private String empresa;
	private String nomeClasse;
	private String mensagem = "";
	private String funcao = "0";
	private String campofocus = "operacao";
	private String navegar = "";
	private Boolean temMensagem = false;
	private Result result;
	private Sessao sessao;

	// Classes views
	// Classes includes
	public Idctc006() {
		inicializar(false);
	}

	public Idctc006(boolean primeiraVez, Sessao sessao) {
		this.sessao = sessao;
		inicializar(primeiraVez);
	}

	public void inicializar(boolean primeiraVez) {
		if (primeiraVez) {
			versao = "0";
			operacao = "";
			dataCorrente = 0;
			dinhidNumpos = 0;
			numpos = "";
			dinhidRegger = 0;
			dinhidNumpro = 0;
			diahidNomide = "";
			diahidNompai = "";
			diahidNommae = "";
			estciv = "";
			nacion = "";
			datnas = 0;
			dinhidNumcpf = 0;
			codano = "";
			diahidPoldir = "";
			diahidInddir = "";
			diahidMeddir = "";
			diahidAnudir = "";
			diahidMindir = "";
			diahidPolesq = "";
			diahidIndesq = "";
			diahidMedesq = "";
			diahidAnuesq = "";
			diahidMinesq = "";
			dinhidMatfuc = 0;
			dinhidMatrhi = 0;
			datatu = 0;
			datath = 0;
			datbai = 0;
			motbxa = "";
			chave = "";
			empresa = "";
			nomeClasse = "";
			empresa = sessao.getSisgsisp().getEmpresa();
			operacao = sessao.getSisgsisp().getOperacao();
			versao = sessao.getSisgsisp().getVersao();
		}
		horaCorrente = new SimpleDateFormat("HH:mm:ss").format(Calendar.getInstance().getTime()); // *TIMX
	}

	public boolean receberTela(boolean primeiraVez, Result result) {
		// faz o tratamento das criticas necessarias para os dados da tela
		// recebida
		this.result = result;
		temMensagem = false;
		if (!primeiraVez) {
			return validar();
		} else {
			return true;
		}
	}

	public void enviarTela(boolean primeiraVez, Result result, String origem) {
		this.enviada = true;
		// rotina para enviar a tela
		// caso esteja setado valores para acoesFinais, executa as classes
		// correspondentes
		this.result = result;
		if (UtilBean.acoesFinais != null && !UtilBean.acoesFinais.isEmpty()) {
			UtilBean.processaAcao();
		} else {
			enviar(result, origem);
		}
	}

	public void enviar(Result result, String origem) {
		// redicionar para o jsp correspondente
		UtilBean.redireciona(pagina, result, origem);
	}

	public void enviarMensagem(String campo, String mensagem) {
		// formatar a mensagem de erro, posicionar no campo informa
		if (campo != null) {
			campofocus = campo;
		} else {
			campofocus = "";
		}
		this.mensagem = mensagem;
		temMensagem = true;
		// enviar(result, origem);
	}

	public boolean validar() {
		// validar os campos recebidos da tela
		UtilBean.funcao = this.funcao;
		ValidarDiahidAnudir();
		if (temMensagem) {
			return false;
		}
		ValidarDiahidAnuesq();
		if (temMensagem) {
			return false;
		}
		ValidarDiahidInddir();
		if (temMensagem) {
			return false;
		}
		ValidarDiahidIndesq();
		if (temMensagem) {
			return false;
		}
		ValidarDiahidMeddir();
		if (temMensagem) {
			return false;
		}
		ValidarDiahidMedesq();
		if (temMensagem) {
			return false;
		}
		ValidarDiahidMindir();
		if (temMensagem) {
			return false;
		}
		ValidarDiahidMinesq();
		if (temMensagem) {
			return false;
		}
		ValidarDiahidNomide();
		if (temMensagem) {
			return false;
		}
		ValidarDiahidNommae();
		if (temMensagem) {
			return false;
		}
		ValidarDiahidNompai();
		if (temMensagem) {
			return false;
		}
		ValidarDiahidPoldir();
		if (temMensagem) {
			return false;
		}
		ValidarDiahidPolesq();
		if (temMensagem) {
			return false;
		}
		ValidarDinhidMatfuc();
		if (temMensagem) {
			return false;
		}
		ValidarDinhidMatrhi();
		if (temMensagem) {
			return false;
		}
		ValidarDinhidNumcpf();
		if (temMensagem) {
			return false;
		}
		ValidarDinhidNumpos();
		if (temMensagem) {
			return false;
		}
		ValidarDinhidNumpro();
		if (temMensagem) {
			return false;
		}
		sessao.getSisgsisp().setEmpresa(this.empresa);
		sessao.getSisgsisp().setOperacao(this.operacao);
		sessao.getSisgsisp().setVersao(this.versao);
		return true;
	}

	private void ValidarDinhidNumpos() {
		// Consist�ncia D01VW-DIDHIS.DINHID-NUMPOS
	}

	private void ValidarDinhidNumpro() {
		// Consist�ncia D01VW-DIDHIS.DINHID-NUMPRO
	}

	// CDIR DID-HISTORICO DINHID-NUMPOS;
	private void ValidarDiahidNomide() {
		// Consist�ncia D01VW-DIDHIS.DIAHID-NOMIDE
	}

	// CDIR DID-HISTORICO DINHID-NUMPRO;
	private void ValidarDiahidNompai() {
		// Consist�ncia D01VW-DIDHIS.DIAHID-NOMPAI
	}

	// CDIR DID-HISTORICO DIAHID-NOMIDE;
	private void ValidarDiahidNommae() {
		// Consist�ncia D01VW-DIDHIS.DIAHID-NOMMAE
	}

	// CDIR DID-HISTORICO DIAHID-NOMPAI;
	private void ValidarDinhidNumcpf() {
		// Consist�ncia D01VW-DIDHIS.DINHID-NUMCPF
	}

	// CDIR DID-HISTORICO DIAHID-NOMMAE;
	private void ValidarDiahidPoldir() {
		// Consist�ncia D01VW-DIDHIS.DIAHID-POLDIR
	}

	// CDIR DID-HISTORICO DINHID-NUMCPF;
	private void ValidarDiahidInddir() {
		// Consist�ncia D01VW-DIDHIS.DIAHID-INDDIR
	}

	// CDIR DID-HISTORICO DINHID-POLDIR;
	private void ValidarDiahidMeddir() {
		// Consist�ncia D01VW-DIDHIS.DIAHID-MEDDIR
	}

	// CDIR DID-HISTORICO DINHID-INDDIR;
	private void ValidarDiahidAnudir() {
		// Consist�ncia D01VW-DIDHIS.DIAHID-ANUDIR
	}

	// CDIR DID-HISTORICO DINHID-MEDDIR;
	private void ValidarDiahidMindir() {
		// Consist�ncia D01VW-DIDHIS.DIAHID-MINDIR
	}

	// CDIR DID-HISTORICO DIAHID-ANUDIR;
	private void ValidarDiahidPolesq() {
		// Consist�ncia D01VW-DIDHIS.DIAHID-POLESQ
	}

	// CDIR DID-HISTORICO DIAHID-MINDIR;
	private void ValidarDiahidIndesq() {
		// Consist�ncia D01VW-DIDHIS.DIAHID-INDESQ
	}

	// CDIR DID-HISTORICO DIAHID-POLESQ;
	private void ValidarDiahidMedesq() {
		// Consist�ncia D01VW-DIDHIS.DIAHID-MEDESQ
	}

	// CDIR DID-HISTORICO DIAHID-INDESQ;
	private void ValidarDiahidAnuesq() {
		// Consist�ncia D01VW-DIDHIS.DIAHID-ANUESQ
	}

	// CDIR DID-HISTORICO DIAHID-MEDESQ;
	private void ValidarDiahidMinesq() {
		// Consist�ncia D01VW-DIDHIS.DIAHID-MINESQ
	}

	// CDIR DID-HISTORICO DIAHID-ANUESQ;
	private void ValidarDinhidMatfuc() {
		// Consist�ncia D01VW-DIDHIS.DINHID-MATFUC
	}

	// CDIR DID-HISTORICO DIAHID-MINESQ;
	private void ValidarDinhidMatrhi() {
		// Consist�ncia D01VW-DIDHIS.DINHID-MATRHI
	}

	public String getVersao() {
		return versao;
	}

	public void setVersao(String versao) {
		this.versao = versao;
	}

	public String getOperacao() {
		return operacao;
	}

	public void setOperacao(String operacao) {
		this.operacao = operacao;
	}

	public int getDataCorrente() {
		return dataCorrente;
	}

	public void setDataCorrente(int dataCorrente) {
		this.dataCorrente = dataCorrente;
	}

	public int getDinhidnumpos() {
		return dinhidNumpos;
	}

	public void setDinhidnumpos(int dinhidNumpos) {
		this.dinhidNumpos = dinhidNumpos;
	}

	public String getNumpos() {
		return numpos;
	}

	public void setNumpos(String numpos) {
		this.numpos = numpos;
	}

	public long getDinhidregger() {
		return dinhidRegger;
	}

	public void setDinhidregger(long dinhidRegger) {
		this.dinhidRegger = dinhidRegger;
	}

	public long getDinhidnumpro() {
		return dinhidNumpro;
	}

	public void setDinhidnumpro(long dinhidNumpro) {
		this.dinhidNumpro = dinhidNumpro;
	}

	public String getDiahidnomide() {
		return diahidNomide;
	}

	public void setDiahidnomide(String diahidNomide) {
		this.diahidNomide = diahidNomide;
	}

	public String getDiahidnompai() {
		return diahidNompai;
	}

	public void setDiahidnompai(String diahidNompai) {
		this.diahidNompai = diahidNompai;
	}

	public String getDiahidnommae() {
		return diahidNommae;
	}

	public void setDiahidnommae(String diahidNommae) {
		this.diahidNommae = diahidNommae;
	}

	public String getEstciv() {
		return estciv;
	}

	public void setEstciv(String estciv) {
		this.estciv = estciv;
	}

	public String getNacion() {
		return nacion;
	}

	public void setNacion(String nacion) {
		this.nacion = nacion;
	}

	public int getDatnas() {
		return datnas;
	}

	public void setDatnas(int datnas) {
		this.datnas = datnas;
	}

	public long getDinhidnumcpf() {
		return dinhidNumcpf;
	}

	public void setDinhidnumcpf(long dinhidNumcpf) {
		this.dinhidNumcpf = dinhidNumcpf;
	}

	public String getCodano() {
		return codano;
	}

	public void setCodano(String codano) {
		this.codano = codano;
	}

	public String getDiahidpoldir() {
		return diahidPoldir;
	}

	public void setDiahidpoldir(String diahidPoldir) {
		this.diahidPoldir = diahidPoldir;
	}

	public String getDiahidinddir() {
		return diahidInddir;
	}

	public void setDiahidinddir(String diahidInddir) {
		this.diahidInddir = diahidInddir;
	}

	public String getDiahidmeddir() {
		return diahidMeddir;
	}

	public void setDiahidmeddir(String diahidMeddir) {
		this.diahidMeddir = diahidMeddir;
	}

	public String getDiahidanudir() {
		return diahidAnudir;
	}

	public void setDiahidanudir(String diahidAnudir) {
		this.diahidAnudir = diahidAnudir;
	}

	public String getDiahidmindir() {
		return diahidMindir;
	}

	public void setDiahidmindir(String diahidMindir) {
		this.diahidMindir = diahidMindir;
	}

	public String getDiahidpolesq() {
		return diahidPolesq;
	}

	public void setDiahidpolesq(String diahidPolesq) {
		this.diahidPolesq = diahidPolesq;
	}

	public String getDiahidindesq() {
		return diahidIndesq;
	}

	public void setDiahidindesq(String diahidIndesq) {
		this.diahidIndesq = diahidIndesq;
	}

	public String getDiahidmedesq() {
		return diahidMedesq;
	}

	public void setDiahidmedesq(String diahidMedesq) {
		this.diahidMedesq = diahidMedesq;
	}

	public String getDiahidanuesq() {
		return diahidAnuesq;
	}

	public void setDiahidanuesq(String diahidAnuesq) {
		this.diahidAnuesq = diahidAnuesq;
	}

	public String getDiahidminesq() {
		return diahidMinesq;
	}

	public void setDiahidminesq(String diahidMinesq) {
		this.diahidMinesq = diahidMinesq;
	}

	public int getDinhidmatfuc() {
		return dinhidMatfuc;
	}

	public void setDinhidmatfuc(int dinhidMatfuc) {
		this.dinhidMatfuc = dinhidMatfuc;
	}

	public int getDinhidmatrhi() {
		return dinhidMatrhi;
	}

	public void setDinhidmatrhi(int dinhidMatrhi) {
		this.dinhidMatrhi = dinhidMatrhi;
	}

	public int getDatatu() {
		return datatu;
	}

	public void setDatatu(int datatu) {
		this.datatu = datatu;
	}

	public int getDatath() {
		return datath;
	}

	public void setDatath(int datath) {
		this.datath = datath;
	}

	public int getDatbai() {
		return datbai;
	}

	public void setDatbai(int datbai) {
		this.datbai = datbai;
	}

	public String getMotbxa() {
		return motbxa;
	}

	public void setMotbxa(String motbxa) {
		this.motbxa = motbxa;
	}

	public String getChave() {
		return chave;
	}

	public void setChave(String chave) {
		this.chave = chave;
	}

	public String getEmpresa() {
		return empresa;
	}

	public void setEmpresa(String empresa) {
		this.empresa = empresa;
	}

	public String getNomeClasse() {
		return nomeClasse;
	}

	public void setNomeClasse(String nomeClasse) {
		this.nomeClasse = nomeClasse;
	}

	public String getHoraCorrente() {
		return horaCorrente;
	}

	public void setHoraCorrente(String horaCorrente) {
		this.horaCorrente = horaCorrente;
	}

	public String getFuncao() {
		return funcao;
	}

	public void setFuncao(String funcao) {
		this.funcao = funcao;
	}

	public String getCampofocus() {
		return campofocus;
	}

	public void setCampofocus(String campofocus) {
		this.campofocus = campofocus;
	}

	public String getNavegar() {
		return navegar;
	}

	public void setNavegar(String navegar) {
		this.navegar = navegar;
	}

	public String getMensagem() {
		return mensagem;
	}

	public void setMensagem(String mensagem) {
		this.mensagem = mensagem;
	}

	public void setMensagemSaida(String mensagem) {
		this.mensagem = mensagem;
	}

	public boolean getEnviada() {
		return this.enviada;
	}

	public void setSessao(Sessao sessao) {
		this.sessao = sessao;
	}
}
